package dp.路径;

/**
 * todo
 *
 * @author songZiHao
 * @version 1.0.0
 * @ClassName 跳跃游戏55.java
 * @createTime 2024年02月29日 17:38:00
 */
public class 跳跃游戏55 {
	/*
   dp[i]位置是否可以到达
   dp[i]能否到达，取决于前面的值能到这个位置的值，也就是num[j]>i-j并且dp[j]=true 那么dp[i]就是true
   basecase
   dp[0]=true;
	*/
	public boolean canJump(int[] nums) {
		int length = nums.length;
		boolean[] dp = new boolean[length];
		dp[0] = true;
		for (int i = 1; i < length; i++) {
			//检查i前面有没有能到i位置的
			for (int j = 0; j < i; j++) {
				if (dp[j] && nums[j] >= i-j) {
					dp[i]=true;
					break;
				}
			}
		}
		return dp[length-1];
	}
}
